home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 11 / Cream of the Crop 11-2.iso / extra_2 / nadir11.zip / CHANGES.DOC < prev    next >
Text File  |  1995-11-08  |  14KB  |  378 lines

  1.  
  2.  
  3.  
  4.         NADIR MODIFICATION HISTORY
  5.  
  6.  
  7.  
  8. Version 1.0 - 14 Oct 1994
  9.  
  10.  
  11. *   The original version.
  12.  
  13.  
  14. Version 1.1
  15.  
  16.  
  17. *   If the formatting routine for a Combo or Select box returns a
  18.     null string, the item being formatted is ignored and is not shown.
  19.  
  20.  
  21. *   Fixed bug where unpredictable results occurred after Signal was
  22.     called with no text argument.
  23.     If cycling was performed (n -c), any undefined arguments for any
  24.     function call became "0" instead of the null string.
  25.  
  26.  
  27. *   Up and Down cursor keys have effect only on radio buttons under Windows.
  28.     Previous code would activate any control such as a push button or
  29.     check box when a Up or Down cursor key was pressed.
  30.  
  31.  
  32. *   Added StrTrim function.
  33.  
  34.     Function    Trim characters from a string.
  35.  
  36.     Syntax      StrTrim(string, chars, type)
  37.  
  38.     Returns     The trimmed string.
  39.  
  40.     Remarks     chars contains the characters that are trimmed.  If chars 
  41.                 is not specified, the space char is trimmed.
  42.                 type specifies the type of trimming to be performed.  The type 
  43.                 string contains words separated by any number of non-alpha
  44.                 characters.  The first character of the word specified the 
  45.                 following types.  Case is not significant.
  46.  
  47.                 "B"egin     Any chars at the beginning of string are removed.
  48.                 
  49.                 "E"nd       Any chars at the end of string are removed.
  50.                 
  51.                 If type is not specified, chars are trimmed from the 
  52.                 beginning and the end of string.
  53.  
  54.  
  55. *   Changed so that the parameters read from the parm file on startup
  56.     for each Windows task occupy a different area of memory.  
  57.     Version 1.0 used the same memory for each task.
  58.  
  59.  
  60. *   Fixed bug in Windows version where a client area with no fields is not 
  61.     redrawn, when a window above it was closed.
  62.  
  63.  
  64. *   Fixed bug where function names containing carets (^) were not being
  65.     handled properly.
  66.  
  67.  
  68. *   If a select box, or the select box of a combo box is in focus, 
  69.     any keystroke will position to that item in the select box.
  70.     Keystrokes are held in a buffer and specify the leading part of
  71.     the key to position on.  The buffer holding the key to move to
  72.     is reset when a non printable character is entered, eg. backspace, 
  73.     the mouse is used, a cursor control key is pressed, or the dialogue
  74.     deactivated.
  75.  
  76.  
  77. *   Added parameter parm^dialog^option^chisel.  If set, system
  78.     displays controls on screen dialogues with the "chiselled" or 3D look.
  79.     Applies only to Windows version.
  80.  
  81.  
  82. *   The length, height and places parameters for SdCombo and the length
  83.     and height parameters for SdSelect specify the number of grid positions
  84.     occupied by the controls.  This includes the space used by borders and
  85.     scroll bars.  The exception is "short" data fields.  Any data field
  86.     with 8 characters or less will be longer to allow the length number
  87.     of average characters to be added.  i.e. The allowance for borders
  88.     is not included.
  89.  
  90.     Originally, height specified the number of rows in the select boxes, 
  91.     so that a select box that looked OK under windows would not fit into 
  92.     the dialogue under DOS.
  93.  
  94.  
  95. *   Fixed problems associated with redefining a field to a different size
  96.     or position.
  97.  
  98.  
  99. *   Fixed General Protection when Windows 3.1 was closed, active Nadir tasks
  100.     were running and there was an active DOS Box.
  101.  
  102.  
  103. *   Fixed problem on Windows when the select box of a combo was visible 
  104.     and the dialog was minimized.  New code correctly hides the select box.
  105.  
  106.  
  107. *   Added SdFieldVarChg
  108.  
  109.     Function    Set the field variables in a screen dialogue
  110.  
  111.     Syntax      SdFieldVarChg(handle, name, var, name, var ...)
  112.  
  113.     Returns     Null value.
  114.  
  115.     Remarks     Set the field variables in the screen dialogue specified
  116.                 by the handle argument.
  117.  
  118.                 Similar to SdFieldVarChg, except that the variable is
  119.                 changed, but not the value that is stored in the field
  120.                 in the screen dialogue.  (SdFieldVar will change the
  121.                 variable and set the value of the field).
  122.  
  123.  
  124. *   System handles double clicks in select boxes or the select box of 
  125.     a combo box.  (Windows only)
  126.  
  127.  
  128. *   Added parameter parm^dialog^option^combo^dclick.  If set, system
  129.     will wait for a double click on the select box of combo boxes when
  130.     an item is selected with a mouse click.  (Windows only)
  131.  
  132.  
  133. *   Added extra argument to SdSelect, called action2 and action3.
  134.  
  135.     SdSelect(handle, name, mode, row, col, len, height, var, text, 
  136.              action, text2, action2, action3)
  137.  
  138.     action is the action when a user selects (activates) an item in the 
  139.     select box.  i.e.  Clicks mouse or presses spacebar.
  140.     action2 is the value returned by SdEdit when the user double clicks
  141.     an item.
  142.     action3 is the action returned by SdEdit when the user moves the 
  143.     cursor to an item with the up and down cursor keys or uses the 
  144.     scroll bar.
  145.     
  146.  
  147. *   Added extra argument to SdCombo, called action2.
  148.  
  149.     SdCombo(handle, name, mode, row, col, len, height, var, text, 
  150.             action, text2, places, attr, action2)
  151.  
  152.     action2 is the value returned by SdEdit when the user double clicks
  153.     an item.  This will only occur if system parameter
  154.     parm^dialog^option^combo^dclick is set.
  155.  
  156.  
  157. *   Under Windows, the hourglass cursor is displayed when the first 
  158.     request for a read or write to disk, and is reset when input is
  159.     required in a dialog.
  160.  
  161.  
  162. *   The expansion of Eval was changed.  If the Eval keyword is on the first
  163.     column of a line, and the expansion of the expression or compound 
  164.     statement evaluates to the null string, then whitespace after the Eval
  165.     keyword up to the first new-line is ignored.  The intention is to avoid
  166.     outputting lots of blank lines.
  167.  
  168.  
  169. *   Dynamic loading of intrinsic modules in Windows.  Created DllLoad and 
  170.     DllUnload
  171.  
  172.  
  173. *   The limitation on Parser Word size has increased to 65500.
  174.  
  175.  
  176. *   Added StrBegins and StrEnds functions
  177.  
  178.     Function    See if a string begins with another string
  179.  
  180.     Syntax      StrBegins(string, substring)
  181.  
  182.     Returns     An integer, 1 if string begins with the substring,
  183.                 otherwise returns 0.
  184.  
  185.     Remarks     If substring is the null string, will return 1.
  186.  
  187.  
  188.  
  189.     Function    See if a string ends with another string
  190.  
  191.     Syntax      StrEnds(string, substring)
  192.  
  193.     Returns     An integer, 1 if string ends with the substring,
  194.                 otherwise returns 0.
  195.  
  196.     Remarks     If substring is the null string, will return 1.
  197.  
  198.  
  199. *   Added TokenFileScanCreate.
  200.  
  201.     Function    Create or initialize a token scan of a file
  202.  
  203.     Syntax      TokenFileScanCreate(filename)
  204.  
  205.     Returns     Null value.
  206.  
  207.     Remarks     Performs same function as TokenScanCreate, except the
  208.                 token scan will read tokens from the text file specified
  209.                 by the filename argument, and not from a string argument
  210.                 as in TokenScanCreate.
  211.  
  212.                 This function will open the file for reading.  If the
  213.                 file is not found, the Token functions will behave as 
  214.                 if an empty file was specified.
  215.  
  216.                 When the file scan is active, LineCurr and LineGet will 
  217.                 return the current or next line in the file being scanned.
  218.  
  219.                 As with TokenScanCreate, TokenScanDestroy is used to 
  220.                 deallocate resources and close the file.
  221.  
  222.  
  223. *   Added extra arg to TokenAdvance(comment, unquote)
  224.  
  225.     If unquote is true, any string will be unquoted.  i.e. The TokenValue
  226.     will be an unquoted string.
  227.  
  228.  
  229. *   Added function StrPatternParts.
  230.  
  231.     Function    Break a StrMatch pattern into a prefix and suffix
  232.  
  233.     Syntax      StrPatternParts(pattern, &prefix, &suffix)
  234.  
  235.     Returns     Null value.
  236.  
  237.     Remarks     returns the fixed part at the beginning of pattern in prefix.
  238.                 eg
  239.                     abc[a-z]s?g*        prefix is "abc"
  240.                     abc|cde             prefix is ""
  241.                     !abc                prefix is ""
  242.  
  243.                 The prefix variable has to be passed by reference.
  244.  
  245.                 The suffix variable is set to the remainder of the pattern
  246.                 after the fixed prefix.  The suffix variable has to be passed
  247.                 by reference.
  248.                 The suffix will be a valid pattern string.
  249.  
  250.                 The prefix will have literal characters translated.  eg
  251.                 for pattern "ab\*c*a\?*", prefix is "ab*c", suffix "*a\?*"
  252.  
  253.  
  254. *   Added SymLoad and SymUnload
  255.  
  256.   Function  Load the contents of an appropriately formatted text file 
  257.             into a symbol table.
  258.  
  259.     Syntax  SymLoad(symTabName, dumpFileName, pattern, repFreq, &symCnt)
  260.  
  261.    Returns  An integer, 0 if all symbols loaded, 1 if load was aborted
  262.  
  263.    Remarks  symTabName specifies the symbol table that symbols are loaded
  264.             into.  e.g. "univ" or "mdat" or "data".
  265.  
  266.             dumpFileName specifies the text file that contains the symbol
  267.             data to be loaded.
  268.  
  269.             pattern may specify a regular expression pattern.  If specified,
  270.             only those names that match the pattern are load.  If not 
  271.             specified, all symbols in dumpFileName are loaded.
  272.  
  273.             If pattern contains only a fixed string with none of the reqular 
  274.             expression meta characters (see StrMatch), the pattern becomes
  275.             a prefix, all symbols with that prefix are loaded.
  276.  
  277.             repFreq specifies the frequency that the progress of the Load
  278.             is reported.  If not specified, no reporting is preformed.
  279.             e.g.  If 100, a progress will be displayed every 100 symbols.
  280.  
  281.             The variable symCnt, which must be passed by reference, is set to
  282.             the number of symbols loaded.
  283.  
  284.             The dump file is treated as a token stream.  Tokens are read
  285.             in pairs, the first token being the symbol name, the second 
  286.             being the token value.  Token values may be strings, integers
  287.             or floats.  If a string contains a valid date string, the
  288.             symbol will be loaded with the date type.  
  289.             If the second Token is "Bunch", the SymLoad assumes that a 
  290.             Bunch has been dumped. (See Dump).  In this case it is assumed
  291.             that the a whole number of lines are used for the Bunch, and that
  292.             lines are continued with a backslash newline combination.
  293.  
  294.  
  295.  
  296.   Function  Unload contents of symbol table
  297.  
  298.     Syntax  SymUnload(symTabName, dumpFileName, pattern, repFreq, &symCnt)
  299.  
  300.    Returns  An integer, 0 if all symbols unloaded, 1 if unload was aborted
  301.  
  302.    Remarks  see SymLoad for explanation of the arguments.  
  303.             However, in SymUnload, the symbols are extracted from the 
  304.             symbol table and written to the dump file, specified by the
  305.             dumpFileName argument.
  306.  
  307.             Internally, the FileDump intrinsic function is used to dump
  308.             the symbol names and values to the dump file.
  309.  
  310.  
  311. *   Added SymNext and SymPrev
  312.  
  313.   Function  Get next symbol in a symbol table that matches a pattern string.
  314.  
  315.     Syntax  SymNext(symTabName, symbolName, pattern)
  316.  
  317.    Returns  Returns next symbol name from the symbol table, or null string
  318.             if there is no next value.
  319.  
  320.    Remarks  symTabName specifies the symbol table that symbol names will
  321.             be scanned for.  e.g. "univ" or "mdat" or "data".
  322.  
  323.             symbolName specifies the current value.  If the pattern 
  324.             specifies a prefix, symbolName will not contain the fiexed prefix.
  325.             The next symbol name after the specified value in the symbol 
  326.             table will be returned.
  327.  
  328.             pattern may specify a regular expression pattern.  If specified,
  329.             only those names that match the pattern are returned.  If not 
  330.             specified, all symbols will be returned.
  331.  
  332.             If pattern contains only a fixed string with none of the reqular 
  333.             expression meta characters (see StrMatch), the pattern becomes
  334.             a prefix, all symbols with that prefix are returned.
  335.  
  336.             If a prefix is specified, the value returned is the name of 
  337.             the symbol without the prefix part.
  338.  
  339.     Example The following example will remove all symbols from the univ
  340.             symbol table that begin with "ph_".
  341.  
  342.             name = "";
  343.             while (name = SymNext("univ", name, "ph_")) {
  344.                 univ^ph_[name] = "";
  345.             }
  346.  
  347.  
  348.  
  349.   Function  Get previous symbol in a symbol table that matches a pattern 
  350.             string.
  351.  
  352.     Syntax  SymPrev(symTabName, symbolName, pattern)
  353.  
  354.    Returns  Returns previous symbol name from the symbol table, or null string
  355.             if there is no previous value.
  356.  
  357.    Remarks  Same as for SymNext, except the symbol names are returned in
  358.             descending order.
  359.  
  360.  
  361. *   Changed prefixes in combos and selects to patterns.  i.e.
  362.  
  363.             pattern may specify a regular expression pattern.  If specified,
  364.             only those names that match the pattern are returned.  If not 
  365.             specified, all symbols will be returned.
  366.  
  367.             If pattern contains only a fixed string with none of the reqular 
  368.             expression meta characters (see StrMatch), the pattern becomes
  369.             a prefix, all symbols with that prefix are returned.
  370.  
  371. *   Changed -o switch on command line for Windows version
  372.  
  373.             if -o is not specified, output is put to a temporary file
  374.             which is shown to the user with the Browser program.
  375.             if -o is specified with a filename, output is placed in the
  376.             file, but no browsing is performed.
  377.             if -o is specified without a filename, output is discarded.
  378.